#ifndef DEFINES_H
#define DEFINES_H

// ####### TWEAK GAME HERE #######

// Max length of the game in frames (60 pr. sec)
#define GAME_LENGTH (30*60)

#define CREATURE_SPRITE_SIZE 32
#define PEN_SPRITE_SIZE 32

// The size of the creature
#define STARTING_RADIUS 30
// The speed of the creature animation (frames pr second)
#define CREATURE_ANIM_SPEED 4 
// 60 = 1 sec.
#define CREATURE_ROTATION_SPEED 30

// The x position of the game time left gauge
#define GAUGE_TIME_LEFT_HEIGHT (192-8)


// The time that needs to pass before pen can be used again in frames (60 pr. sec)
#define PEN_SPEED_LIMIT 30


// The no of frames that needs to pass before
// pen can be used again (60 pr. sec)
#define PEN_SPEED_LIMIT 30


// ######## DONT TOUCH THESE #########
// The screens
#define UPPER_SCREEN 1
#define LOWER_SCREEN 0

// The palettes
#define CREATURE_PALETTE_NO 0
#define PEN_PALETTE_NO 1
#define INTERFACE_PALETTE_NO 2

// Creature sprites
#define SPRITE_CREATURE_00 20
#define SPRITE_CREATURE_01 21
#define SPRITE_CREATURE_02 22
#define SPRITE_CREATURE_03 23

// Pen sprites
#define SPRITE_PEN_HIT     10
#define SPRITE_PEN_MISS    11
#define SPRITE_PEN_ILLEGAL 12

#define SPRITE_PEN_HIT_LOWER     13
#define SPRITE_PEN_MISS_LOWER    14
#define SPRITE_PEN_ILLEGAL_LOWER 15

// Interface sprites NEVER CHANGE!!
#define SPRITE_GAUGE_GAME_TIME_00 0
#define SPRITE_GAUGE_GAME_TIME_01 1
#define SPRITE_GAUGE_GAME_TIME_02 2
#define SPRITE_GAUGE_GAME_TIME_03 3
#define SPRITE_GAUGE_GAME_TIME_04 4
#define SPRITE_GAUGE_GAME_TIME_05 5
#define SPRITE_GAUGE_GAME_TIME_06 6
#define SPRITE_GAUGE_GAME_TIME_07 7

// Drops sprites
#define SPRITE_DROP_00 100
#define SPRITE_DROP_01 101
#define SPRITE_DROP_02 102
#define SPRITE_DROP_03 103
#define SPRITE_DROP_04 104
#define SPRITE_DROP_05 105
#define SPRITE_DROP_06 106
#define SPRITE_DROP_07 107
#define SPRITE_DROP_08 108
#define SPRITE_DROP_09 109


// The number of frames to pass for a time gauge part to be zapped
#define TIME_GAUGE_PART_TIME (GAME_LENGTH/8)
// The y position to give to offstage parts of the time gauge
#define TIME_GAUGE_OFFSTAGE_Y 200


#define TOROIDAL_WRAP_ON false

//#if !TOROIDAL_WRAP_ON
#define EDGE_TOP		0
#define EDGE_BOTTOM		(191-CREATURE_SPRITE_SIZE)
#define EDGE_LEFT		0
#define EDGE_RIGHT		(255-CREATURE_SPRITE_SIZE)
//#else
//#define EDGE_TOP		0+CREATURE_SPRITE_SIZE/2
//#define EDGE_BOTTOM		(191-CREATURE_SPRITE_SIZE/2)
//#define EDGE_LEFT		0+CREATURE_SPRITE_SIZE/2
//#define EDGE_RIGHT		(255-CREATURE_SPRITE_SIZE/2)
//#endif

// Rotsets
#define CREATURE_ROTSET 0




// Possible results of pen touching the screen
enum TouchType {HIT, MISS, ILLEGAL};




#endif // DEFINES_H

